package edu.upc.clase.demo.controller;

import edu.upc.clase.demo.entity.CriterioBusqueda;
import edu.upc.clase.demo.entity.JsonResponse;
import edu.upc.clase.demo.entity.AccesoriosHasSala;
import edu.upc.clase.demo.service.AccesoriosHasSalaService;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

@Controller("AccesoriosHasSalaController")

public class AccesoriosHasSalaController {
  
    @Autowired
    private AccesoriosHasSalaService AccesoriosHasSalaService;
    private static Logger log = LoggerFactory.getLogger(AccesoriosHasSalaController.class);

    @RequestMapping("/Armado de Sala/index")
    public ModelAndView index() {
        ModelAndView mav = new ModelAndView("Armado de Sala/index");
        List<AccesoriosHasSala> accesorioshassala = AccesoriosHasSalaService.buscarTodos();
        CriterioBusqueda criterioBusqueda = new CriterioBusqueda();
        mav.addObject("usuarios", accesorioshassala);
        mav.addObject("criterioBusqueda",criterioBusqueda);
        return mav;
    }
    
    @RequestMapping(value = "/Armado de Sala/new", method = RequestMethod.GET)
    public ModelAndView newUsuario() {
        ModelAndView mav = new ModelAndView("Armado de Sala/new");
        AccesoriosHasSala AccesoriosHasSala = new AccesoriosHasSala();
        mav.getModelMap().put("Armado de Sala", AccesoriosHasSala);
        return mav;
    }

    @RequestMapping(value = "/Armado de Sala/new", method = RequestMethod.POST)
    public String createUsuario(@ModelAttribute("Armado de Sala")AccesoriosHasSala accesorioshasala, 
                                SessionStatus status,
                                HttpServletRequest request) {
        
       AccesoriosHasSalaService.insertar(accesorioshasala);
       
       status.setComplete();
        return "redirect:/pages/Armado de Sala/index";
        
    }
    
    @RequestMapping(value = "/Armado de Sala/edit", method = RequestMethod.GET)
    public ModelAndView editUsuario(@RequestParam("id")String id) {    
        ModelAndView mav = new ModelAndView("Armado de Sala/edit");
        AccesoriosHasSala accesorioshassala = AccesoriosHasSalaService.buscar(id);
        mav.getModelMap().put("usuario", accesorioshassala);
        return mav;        
    }
    
    @RequestMapping(value="/usuarios/edit", method=RequestMethod.POST)
    public String update(@ModelAttribute("usuario") AccesoriosHasSala accesorioshasala, SessionStatus status) {
        AccesoriosHasSalaService.actualizar(accesorioshasala);
        status.setComplete();
        return "redirect:/pages/Armado de Sala/index";
    }
    
    @RequestMapping("/Armado de Sala/delete")
    public ModelAndView delete(@RequestParam("id")String id)
    {
        ModelAndView mav = new ModelAndView("redirect:/pages/Armado de Sala/index");
        AccesoriosHasSala accesorioshassala = AccesoriosHasSalaService.buscar(id);
        AccesoriosHasSalaService.eliminar(accesorioshassala);
        return mav;
    }
               
    @RequestMapping(value = "/listarUsuarios", method = RequestMethod.GET, produces = "application/json")
    public @ResponseBody JsonResponse listMyFiles() {
        List<AccesoriosHasSala> usuarios = AccesoriosHasSalaService.buscarTodos();
        return new JsonResponse(true, usuarios);
    }
    
}
